EF Form Posts afhandelen
Home

EF Form Posts afhandelen

EF Form Posts afhandelen

Voordat je kunt werken met waarden, die naar een controller gepost worden, moet je ze eerst ophalen uit de request (http header). Hoe je dat doet hebben we gezien in ASP.NET MVC Controllers. De eenvoudigste manier is om een model te gebruiken om de waarden op te slaan. We hebben al een model voor PostalCodes gemaakt in de oefening EFCF PostalCodes Entiteit.

Om de klasse PostalCodes, die we eerder gemaakt hebben, te binden geef je een parameter van het type PostalCodes als een van de parameters van de controller actiemethode:

[HttpPost]
public ActionResult Insert(Models.PostalCodes postalCodes)
{
    if (ModelState.IsValid)
    {
        ViewBag.Message = "Insert een postcode in de database";
        db.PostalCodes.Add(postalCodes);
        db.SaveChanges();
    }
    else
    {
        ModelState.AddModelError("Ongeldige gegevens", "Postcode en plaatsnaam moeten ingevuld zijn.");
    }
    return View("Selecting", db.PostalCodes);
}

Het belangrijkste aspect van het PostalCodes model is het feit dat de namen van de eigenschappen (PostalCode, Location, enz.) overeenkomen met de waarden in de name attributen van de input-elementen. Die namen van de eigenschappen zijn van cruciaal belang, omdat ASP.NET MVC het de eigenschappen van het model probeert te binden met de ingetype waarden op de form op basis van de overeenkomende namen.

Als je de toepassing uitvoert, en op de submit knop van het formulier klikt zal je zien dat het PostalCodes model wordt gevuld met de waarden die je hebt ingevoerd.

Maar we moeten nog meer doen, namelijk het daadwerkelijk opslaan van de data.

JI
2016-11-06 16:45:40